/*
 * @Descripttion: Sustainable
 * @version: 1.0.0
 * @Author: Kenny
 * @Date: 2021-10-29 16:12:21
 * @LastEditors: ~
 * @LastEditTime: 2021-12-09 21:56:44
 */
<<<<<<< HEAD
var arr = ['add', 'asewe', 'sddfd', 'dsds'];

var arry = []
arr.forEach(el => {
   arry.push(el.split('').reverse().join(''));
})
//console.log(arry.reverse().join(''))



let a = {
   age: 1,
   person: {
      tall: 2
   }
}
let c = Object.assign({}, a);
a.person.tall = 5
console.log(c)

function deepCopy(obj) {
   let newobj = null;   //声明一个变量用来储存拷贝之后的内容
   //判断数据类型是否是复杂类型，如果是则调用自己，再次循环，如果不是，直接赋值即可，
   //由于null不可以循环但类型又是object，所以这个需要对null进行判断
   if (typeof (obj) == 'object' && obj !== null) {
      //声明一个变量用以储存拷贝出来的值,根据参数的具体数据类型声明不同的类型来储存
      newobj = obj instanceof Array ? [] : {};
      //循环obj 中的每一项，如果里面还有复杂数据类型，则直接利用递归再次调用copy函数
      for (var i in obj) {
         newobj[i] = deepCopy(obj[i])
      }
   } else {
      newobj = obj
   }
   return newobj;//函数必须有返回值，否则结构为undefined
}
=======
// const a = [2, 3];
// console.log(a.push(3), a);

// class Dog {
//    constructor(name) {
//       this.name = name;
//    }
// }
// Dog.prototype.bark = function () {
//    console.log(`Woof I am ${this.name}`);
// }

// const prt = new Dog('Wool');
// prt.bark()

// delete Dog.prototype.bark;
// console.log(prt)

// const a = "sddfd";
// console.log(a())

// const str = "dfd";
// function getERR() {
//    console.log(typeof str);
//    const str = "sddf";
// }
// getERR();

// const myPromise = () => Promise.resolve('I have req');

// function firstFunction() {
//    console.log('firs');
//    myPromise().then(res => console.log(res + '等会执行'));
//    console.log('firs');
// }

// async function secondFuncton() {
//    console.log('second');
//    console.log(await myPromise() + '先执行');
//    console.log('seconds');

// }

// firstFunction();
// secondFuncton();


function arr() {
   console.log(787)
   setTimeout(function () {
      console.log(6)
   }, 0)
   console.log(334)
}
arr()
>>>>>>> 5b0accf99e7c9dcaf0553d2add28e86251107018
